/**
 * 主持人调度（一）
 *
 * 描述
 * 有 n 个活动即将举办，每个活动都有开始时间与活动的结束时间，第 i 个活动的开始时间是 starti ,
 * 第 i 个活动的结束时间是 endi ,举办某个活动就需要为该活动准备一个活动主持人。
 * 一位活动主持人在同一时间只能参与一个活动。并且活动主持人需要全程参与活动，换句话说，一个主持人
 * 参与了第 i 个活动，那么该主持人在 (starti,endi) 这个时间段不能参与其他任何活动。请问一个只
 * 有一个主持人能否举办全部活动。
 *
 * 数据范围:
 * 1≤n≤10^5
 * 0≤starti, endi≤10^9
 */

import java.util.ArrayList;

/**
 * 这里将 schedule 中的 list全都按照 第一个数从小到大排序,
 * 然后直接比较相邻两个的值就可以了, 前面一个取第 1个数, 后面
 * 一个取第 0个数
 * 时间复杂度 : O(nlog(n))
 * 空间复杂度 : O(1)
 */

public class Main {
    /**
     * 代码中的类名、方法名、参数名已经指定，请勿修改，直接返回方法规定的值即可
     *
     *
     * @param schedule int整型二维数组
     * @return bool布尔型
     */
    public boolean hostschedule (ArrayList<ArrayList<Integer>> schedule) {
        schedule.sort((a, b) -> a.get(0) - b.get(0));
        for (int i = 0; i < schedule.size() - 1; i++) {
            if (schedule.get(i).get(1) > schedule.get(i + 1).get(0)) {
                return false;
            }
        }
        return true;
    }
}